package com.qdxwx.data.service.statistic;


import com.qdxwx.models.statistic.Statistic;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * Statistic接口
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
public interface StatisticService {

	/**
	 * 定时添加Statistic
	 */
	void autoCreateYesterday();

	/**
	 * 定时添加Statistic
	 */
	void autoCreateDay(LocalDate date);

	/**
	 * 网站统计 （按年、月）
	 */
	List<Statistic> getListByMonth(int year, int month);

	List<Statistic> sumMonthsByYear(int year);

	Statistic sumTotal();

	/**
	 * 收入
	 */
	int sumIncome(LocalDate startDate, LocalDate endDate);

	/**
	 * 查询最近30条的统计数据
	 */
	List<Statistic> getList(int days);

	/**
	 * 查询指定时间段的统计数据
	 */
	List<Statistic> getList(LocalDate startDate, LocalDate endDate);

	/**
	 * 删除指定时间段的统计数据
	 */
	void delete(LocalDate startDate, LocalDate endDate);

	/**
	 * 获取日期的登录人数
	 */
	int countLoginNum(LocalDate date);

	/**
	 * 获取日期的注册人数
	 */
	int countRegisterNum(LocalDate date);

	/**
	 * 获取日期的订单数
	 */
	Map<String, Object> getTodayOrderNum(LocalDate date);

	/**
	 * 网校课程数
	 */
	int countCourseNum();

	/**
	 * 网校总用户数
	 */
	int countUserNum();

}